const express = require('express');
const app = express();

// 配置模板引擎，使用 express-art-template 来渲染.html 文件
app.engine('html', require('express-art-template'));

// 处理根路由，渲染 index.html 页面，这里假设 index.html 在 views 目录下
app.get("/", (req, res) => {
    res.render('index.html');
});

// 处理 /main 路由，渲染对应的 main.html 页面
app.get("/main", (req, res) => {
    res.render('main.html');
});

// 用于接收 POST 请求等发送的表单数据（解析 urlencoded 格式的数据），extended: false 表示使用简单的语法分析
app.use(express.urlencoded({ extended: false }));

// 启用跨域资源共享（CORS），允许不同源的请求访问本服务器资源
const cors = require('cors');
app.use(cors());

// 配置 express-jwt 中间件用于解析和验证 Token，设置密钥及算法，并指定不需要验证 Token 的路径（比如以 /api/ 开头的路由）
const expressJWT = require('express-jwt');
const config = require('./config');
app.use(expressJWT({ secret: config.jwtSecretKey, algorithms: ['HS256'] }).unless({ path: [/^\/api\//] }));

// 导入自定义的用户相关路由模块
const userRouter = require('./router/user');
// 将以 /api/ 开头的路由都交给 userRouter 来处理
app.use('/api', userRouter);

// 启动服务器，监听在 3030 端口，当服务器成功启动时打印提示信息
app.listen(3030, () => {
    console.log('success! http://127.0.0.1:3030');
});